package cn.tedu.fy.pethome.service;

import cn.tedu.fy.pethome.pojo.dto.OrderAddDTO;
import cn.tedu.fy.pethome.pojo.dto.OrderListTimeDTO;
import cn.tedu.fy.pethome.pojo.dto.OrderStateUpdateDTO;
import cn.tedu.fy.pethome.pojo.entity.OrderItem;
import cn.tedu.fy.pethome.pojo.restful.JsonPage;
import cn.tedu.fy.pethome.pojo.vo.OrderAddVO;
import cn.tedu.fy.pethome.pojo.vo.OrderDetailVO;
import cn.tedu.fy.pethome.pojo.vo.OrderListVO;

import java.util.List;

public interface IOrderService {
    /**
     * 新增订单
     * @param orderAddDTO
     * @return 订单编号
     */
    OrderAddVO addOrder(OrderAddDTO orderAddDTO);

    /**
     * 删除订单及其子订单
     * @param id
     * @return 订单编号
     */
    void deleteOrderAndOrderItems(Long id);

    /**
     * 更新订单状态
     * @param id
     */
    void updateOrderState(Long id);

    /**
     * 根据起始结束时间查询订单列表
     * @param orderListTimeDTO
     */
    List<OrderListVO> listOrders(OrderListTimeDTO orderListTimeDTO);

    /**
     * 根据sn查询订单详细信息
     * @param id
     * @return
     */
    List<OrderItem> getOrderItems(Long id);
}
